package com.shujia.core

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo16MapValues {
  def main(args: Array[String]): Unit = {

    /**
     * mapValues：转换算子，需要作用在KV格式的RDD上，可以对Value进行处理
     */
    val conf: SparkConf = new SparkConf()
    conf.setMaster("local")
    conf.setAppName("Demo16MapValue")

    val sc: SparkContext = new SparkContext(conf)

    val kvRDD: RDD[(String, Int)] = sc.parallelize(List(("k1", 1), ("k2", 2), ("k3", 3)))
    // 将value做次方返回新的value
    kvRDD.mapValues(v => v * v * v).foreach(println)
  }

}
